home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Gekikoh Dennoh Club 2
/
Gekikoh Dennoh Club Vol. 2 (Japan).7z
/
Gekikoh Dennoh Club Vol. 2 (Japan) (Track 01).bin
/
fsw
/
zm302
/
zm302_x.lzh
/
MINTPATCH.LZH
/
FOR_MINT.TXT
next >
Wrap
Text File
|
1996-10-03
|
2KB
|
116 lines
ZMSC3.Xがmint上で動作しない!!とお嘆きの貴方に
----------------------------------------------------------------
mint.xは定義ファイル.mint(_mintの方もいる?)で
%mdxt 1
を設定している場合
ZMSC3.Xを常駐させると、内部でver3.0で変更になったファンクション
$4E(旧get_1st_comment)を呼出し、エラーが発生してしまいます。
そこで、ZMSC3.Xが常駐している場合はZMUSICは常駐していないと
みなすようにmint.x ver2.25の方にパッチをあててみました。
----------------------------------------------------------------
・mintがver2.25の場合
カレントディレクトリにmint.xとmint.bfdを置いて
bup mint.bfd
でパッチをあてて下さい。
----------------------------------------------------------------
・バージョンが違う場合
定義ファイル.mint(_mint)中の
%mdxt 1
を
%mdxt 0
に書き換えて下さい。
----------------------------------------------------------------
おまけ
ZMUSIC ver2.0対応のプログラムは
概ね以下のようなルーチンでZMUSIC.xの常駐チェックを行なっています。
ZMUSIC_CHECK_IMCOMPLETE:
moveq.l #$00,D0
movea.l $008C.w,A0
subq.l #$08,A0 *-8
cmpi.l #'ZmuS',(A0)+ *'ZmuSiC'先頭4文字
bne @f
cmpi.w #'iC',(A0) *残り2文字
bne @f
moveq.l #$FF,D0 *エラーコード
@@:
rts
この場合、常駐しているのがver2.0なのかver3.0なのかを判別していません。
そこで、このサブルーチンのマシンコードサイズを変えないように
ver3.0のチェックを実装すると以下のようになります。
ZMUSIC_V2_CHECK:
moveq.l #$00,D0
movea.l $008C.w,A0
subq.l #$06,A0 *-6 <<(注意)
cmpi.l #'uSiC',(A0)+ *残り4文字
bne @f
cmpi.w #$3040,(A0) *バージョン3か?
bcc @f
moveq.l #$FF,D0
@@:
rts
文字列の比較は先頭2文字を除いた残り4文字しかせず
その分をバージョンチェックに割り当てています。
このようにすれば、逆アセンブルしたソースを変更したものから
再アセンブルした場合に正しいプログラムが作成されないような
プログラムにもパッチをあてることができます。
本来ならば、6文字全ての比較+バージョンチェックを
するべきなのは言うまでもないでしょう。
他のZMUSIC対応プログラムに関しても
作者の方が直接対応して下さるのが一番でしょうが
当面は上記のような方法で各自対処してみて下さい。
----------------------------------------------------------------
このファイル及び付属のmint.bfdは
X68k、ZMUSIC、mintを利用されている全てのユーザに閲覧されることを
目的として作成されました。
----------------------------------------------------------------
[MZL]